#ifndef RESOURCES_H
#define RESOURCES_H

//Data Declarations for all the Media Resources.
//Load with the following function
//bool Load_Graphic(HTEXTURE &Graphic, char* File, hgeSprite *&Sprite, int Width, int Height, int X_Start = 0, int Y_Start = 0, int Hot_X = 0, int Hot_Y = 0, int DWORD = 0xFFFFFFFF)

//System Based Variables
float Delta_Time; float Elapsed_Time; int Current_FPS; //Time Variables

//Graphics (Texture&Sprite)
HTEXTURE   Tex_Empty_Cell ; hgeSprite* Spr_Empty_Cell; //Empty Texture
//Loading Screens
HTEXTURE   Tex_Load_Screen; HTEXTURE   Tex_Load_Bar; HTEXTURE   Tex_Load_Frame; HTEXTURE   Tex_Load_Logo; HTEXTURE   Tex_Load_Studio; HTEXTURE   Tex_Bg_Grid;
hgeSprite* Spr_Load_Screen; hgeSprite* Spr_Load_Bar; hgeSprite* Spr_Load_Frame; hgeSprite* Spr_Load_Logo; hgeSprite* Spr_Load_Studio; hgeSprite* Spr_Bg_Grid;

HTEXTURE   Tex_Fire_Cursor;
hgeSprite* Spr_Fire_Cursor;

//Game Resources
//Character 
HTEXTURE   Tex_Char1_Head ; hgeSprite*    Spr_Char1_Head ;
HTEXTURE   Tex_Char1_Arm1 ; hgeSprite*    Spr_Char1_Arm1 ;
HTEXTURE   Tex_Char1_Body ; hgeSprite*    Spr_Char1_Body ;
HTEXTURE   Tex_Char1_Feet ; hgeAnimation* Ani_Char1_Feet ;

//Textures
HTEXTURE   Tex_Grass_512          ;  hgeSprite* Spr_Grass1_512;
hgeSprite* Spr_Grass1_256; hgeSprite* Spr_Grass1_128; hgeSprite* Spr_Grass5_128; 
hgeSprite* Spr_Grass2_256; hgeSprite* Spr_Grass2_128; hgeSprite* Spr_Grass6_128; 
hgeSprite* Spr_Grass3_256; hgeSprite* Spr_Grass3_128; hgeSprite* Spr_Grass7_128; 
hgeSprite* Spr_Grass4_256; hgeSprite* Spr_Grass4_128; hgeSprite* Spr_Grass8_128; 

HTEXTURE   Tex_Forest_512         ;  hgeSprite* Spr_Forest1_512;
hgeSprite* Spr_Forest1_256; hgeSprite* Spr_Forest1_128; hgeSprite* Spr_Forest5_128; 
hgeSprite* Spr_Forest2_256; hgeSprite* Spr_Forest2_128; hgeSprite* Spr_Forest6_128; 
hgeSprite* Spr_Forest3_256; hgeSprite* Spr_Forest3_128; hgeSprite* Spr_Forest7_128; 
hgeSprite* Spr_Forest4_256; hgeSprite* Spr_Forest4_128; hgeSprite* Spr_Forest8_128; 

HTEXTURE   Tex_GrassForest_512    ;  hgeSprite* Spr_GrassForest1_512;
hgeSprite* Spr_GrassForest1_256; hgeSprite* Spr_GrassForest1_128; hgeSprite* Spr_GrassForest5_128; 
hgeSprite* Spr_GrassForest2_256; hgeSprite* Spr_GrassForest2_128; hgeSprite* Spr_GrassForest6_128; 
hgeSprite* Spr_GrassForest3_256; hgeSprite* Spr_GrassForest3_128; hgeSprite* Spr_GrassForest7_128; 
hgeSprite* Spr_GrassForest4_256; hgeSprite* Spr_GrassForest4_128; hgeSprite* Spr_GrassForest8_128; 

//Fonts
hgeFont* Ariel_Font;

HTEXTURE   Tex_TEST;
hgeSprite* Spr_TEST;

//System

//Graphics (Particle Systems)

//Sounds

//Game Structures
//Players
Player* CharacterA; Player* CharacterB; Player* CharacterC; Player* CharacterD;

//Weapons
//Submachine Guns
HTEXTURE Tex_Submachine_Gun_1;   HTEXTURE Tex_Submachine_Cart_1;   HTEXTURE Tex_Submachine_Bullet_1;   HTEXTURE Tex_Submachine_Casing_1;
hgeSprite* Spr_Submachine_Gun_1; hgeSprite* Spr_Submachine_Cart_1; hgeSprite* Spr_Submachine_Bullet_1; hgeSprite* Spr_Submachine_Casing_1;
//   Load_Graphic(); //Gun
//   Load_Graphic(); //Cartridge
//   Load_Graphic(); //Bullet
//   Load_Graphic(); //Casing

//Menus
//Main Menu Resources
HTEXTURE Tex_MainMenuBG; hgeSprite* Spr_MainMenuBG;
HTEXTURE MainMenuButton1;
Button Start_Game; hgeSprite* Start_Game_On; hgeSprite* Start_Game_Off;
Button Exit_Game;  hgeSprite* Exit_Game_On;  hgeSprite* Exit_Game_Off;

#endif
